package com.groupseven.backend.domain.Program;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.util.Date;

/**
 * @Author 王志华
 */
public class Program {

    @NotBlank(message = "项目名称不能为空！")
    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    public String Programname; //项目名称

    @NotBlank(message = "负责人姓名不能为空！")
    public String ManagerName;

    public String Manager; //负责人

    @NotBlank(message = "电话号码不能为空！")
    @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误")
    public String Phone; //电话号码

    public float Amount; //项目金额

    @NotBlank(message = "项目级别不能为空！")
    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    public int Level; //项目级别

    @NotBlank(message = "项目编号不能为空！")
    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    public String ProgramNumber; //项目编号----数据库主键

    public String EmployeeNumber; //职工号

    @NotBlank(message = "所在单位不能为空！")
    @Length(min = 1, max = 20, message = "长度要在2到20之间")
    public String Affiliation; //所属单位

    public int ApprovalStatus; //审核状态(字典控制)1审核中2待审核3审核通过4审核不通过

    public String SubjectCategory; //学科门类：理工类或社科类

    public String ProjectType; //项目类型：纵向或横向

    public String Category; //项目分类

    public String ProjectStatus; //项目状态：进行或中止

    public String ResultForm; //成果形式

    public String isMatched; //是否配套

    public String CurrentUnit; //所在单位

    public String AchievementUnit; //成果所属单位

    public String first_level_discipline; //一级学科

///20211204 项目与项目申报整合
    public String managerUnit;
    public String managerSex;
    public String managerPhone;
    public String managerNumber;
    public String managerEmail;

    public String memberoneName;
    public String membertwoName;
    public String memberthreeName;
    public String memberfourName;
    public String memberfiveName;

    public String memberonePhone;
    public String membertwoPhone;
    public String memberthreePhone;
    public String memberfourPhone;
    public String memberfivePhone;

    public String memberoneNumber;
    public String membertwoNumber;
    public String memberthreeNumber;
    public String memberfourNumber;
    public String memberfiveNumber;

    public String memberoneEmail;
    public String membertwoEmail;
    public String memberthreeEmail;
    public String memberfourEmail;
    public String memberfiveEmail;
    public String Declarer; //申报人

    public double ReportExpenses; //申报经费

    public String ProjectDescription; //项目简介
    public String Reason; //申请理由：（立项依据、自身及团队具备的知识、特长、前期准备等
    public String project_plan_and_schedule; //项目方案与进度安排
    public String project_features_and_innovation; //项目特色与创新
    public String ExpectedResult; //预期成果
///20211204

    public String ItemLevel; //项目级别

    public String project_sub_category; //项目子类

    public String SourceUnit; //来源单位

    public String ApprovalNumber; //批准文号

    public String PlanCompleted; //计划完成

    public String ProjectDate; //立项日期

    public String EndDate; //结项日期

    public String SettlementForm; //结算形式

    public int isfinish;////1进行2进行中3已结束

    public String FirstReview;

    public String SecondReview;

    //
    //
    public Date StartTime;
    public Date EndTime;

    public Date getStartTime() {
        return StartTime;
    }

    public void setStartTime(Date startTime) {
        StartTime = startTime;
    }

    public Date getEndTime() {
        return EndTime;
    }

    public void setEndTime(Date endTime) {
        EndTime = endTime;
    }

    public String getFirstReview() {
        return FirstReview;
    }

    public void setFirstReview(String firstReview) {
        FirstReview = firstReview;
    }

    public String getSecondReview() {
        return SecondReview;
    }

    public void setSecondReview(String secondReview) {
        SecondReview = secondReview;
    }

    public String getManagerUnit() {
        return managerUnit;
    }

    public void setManagerUnit(String managerUnit) {
        this.managerUnit = managerUnit;
    }

    public String getManagerSex() {
        return managerSex;
    }

    public void setManagerSex(String managerSex) {
        this.managerSex = managerSex;
    }

    public String getManagerPhone() {
        return managerPhone;
    }

    public void setManagerPhone(String managerPhone) {
        this.managerPhone = managerPhone;
    }

    public String getManagerNumber() {
        return managerNumber;
    }

    public void setManagerNumber(String managerNumber) {
        this.managerNumber = managerNumber;
    }

    public String getManagerEmail() {
        return managerEmail;
    }

    public void setManagerEmail(String managerEmail) {
        this.managerEmail = managerEmail;
    }

    public String getMemberoneName() {
        return memberoneName;
    }

    public void setMemberoneName(String memberoneName) {
        this.memberoneName = memberoneName;
    }

    public String getMembertwoName() {
        return membertwoName;
    }

    public void setMembertwoName(String membertwoName) {
        this.membertwoName = membertwoName;
    }

    public String getMemberthreeName() {
        return memberthreeName;
    }

    public void setMemberthreeName(String memberthreeName) {
        this.memberthreeName = memberthreeName;
    }

    public String getMemberfourName() {
        return memberfourName;
    }

    public void setMemberfourName(String memberfourName) {
        this.memberfourName = memberfourName;
    }

    public String getMemberfiveName() {
        return memberfiveName;
    }

    public void setMemberfiveName(String memberfiveName) {
        this.memberfiveName = memberfiveName;
    }

    public String getMemberonePhone() {
        return memberonePhone;
    }

    public void setMemberonePhone(String memberonePhone) {
        this.memberonePhone = memberonePhone;
    }

    public String getMembertwoPhone() {
        return membertwoPhone;
    }

    public void setMembertwoPhone(String membertwoPhone) {
        this.membertwoPhone = membertwoPhone;
    }

    public String getMemberthreePhone() {
        return memberthreePhone;
    }

    public void setMemberthreePhone(String memberthreePhone) {
        this.memberthreePhone = memberthreePhone;
    }

    public String getMemberfourPhone() {
        return memberfourPhone;
    }

    public void setMemberfourPhone(String memberfourPhone) {
        this.memberfourPhone = memberfourPhone;
    }

    public String getMemberfivePhone() {
        return memberfivePhone;
    }

    public void setMemberfivePhone(String memberfivePhone) {
        this.memberfivePhone = memberfivePhone;
    }

    public String getMemberoneNumber() {
        return memberoneNumber;
    }

    public void setMemberoneNumber(String memberoneNumber) {
        this.memberoneNumber = memberoneNumber;
    }

    public String getMembertwoNumber() {
        return membertwoNumber;
    }

    public void setMembertwoNumber(String membertwoNumber) {
        this.membertwoNumber = membertwoNumber;
    }

    public String getMemberthreeNumber() {
        return memberthreeNumber;
    }

    public void setMemberthreeNumber(String memberthreeNumber) {
        this.memberthreeNumber = memberthreeNumber;
    }

    public String getMemberfourNumber() {
        return memberfourNumber;
    }

    public void setMemberfourNumber(String memberfourNumber) {
        this.memberfourNumber = memberfourNumber;
    }

    public String getMemberfiveNumber() {
        return memberfiveNumber;
    }

    public void setMemberfiveNumber(String memberfiveNumber) {
        this.memberfiveNumber = memberfiveNumber;
    }

    public String getMemberoneEmail() {
        return memberoneEmail;
    }

    public void setMemberoneEmail(String memberoneEmail) {
        this.memberoneEmail = memberoneEmail;
    }

    public String getMembertwoEmail() {
        return membertwoEmail;
    }

    public void setMembertwoEmail(String membertwoEmail) {
        this.membertwoEmail = membertwoEmail;
    }

    public String getMemberthreeEmail() {
        return memberthreeEmail;
    }

    public void setMemberthreeEmail(String memberthreeEmail) {
        this.memberthreeEmail = memberthreeEmail;
    }

    public String getMemberfourEmail() {
        return memberfourEmail;
    }

    public void setMemberfourEmail(String memberfourEmail) {
        this.memberfourEmail = memberfourEmail;
    }

    public String getMemberfiveEmail() {
        return memberfiveEmail;
    }

    public void setMemberfiveEmail(String memberfiveEmail) {
        this.memberfiveEmail = memberfiveEmail;
    }

    public String getDeclarer() {
        return Declarer;
    }

    public void setDeclarer(String declarer) {
        Declarer = declarer;
    }

    public double getReportExpenses() {
        return ReportExpenses;
    }

    public void setReportExpenses(double reportExpenses) {
        ReportExpenses = reportExpenses;
    }

    public String getProjectDescription() {
        return ProjectDescription;
    }

    public void setProjectDescription(String projectDescription) {
        ProjectDescription = projectDescription;
    }

    public String getReason() {
        return Reason;
    }

    public void setReason(String reason) {
        Reason = reason;
    }

    public String getProject_plan_and_schedule() {
        return project_plan_and_schedule;
    }

    public void setProject_plan_and_schedule(String project_plan_and_schedule) {
        this.project_plan_and_schedule = project_plan_and_schedule;
    }

    public String getProject_features_and_innovation() {
        return project_features_and_innovation;
    }

    public void setProject_features_and_innovation(String project_features_and_innovation) {
        this.project_features_and_innovation = project_features_and_innovation;
    }

    public String getExpectedResult() {
        return ExpectedResult;
    }

    public void setExpectedResult(String expectedResult) {
        ExpectedResult = expectedResult;
    }

    public String getManagerName() {
        return ManagerName;
    }
    @JsonProperty(value = "ManagerName")
    public void setManagerName(String managerName) {
        ManagerName = managerName;
    }

    public String getFirst_level_discipline() {
        return first_level_discipline;
    }

    public void setFirst_level_discipline(String first_level_discipline) {
        this.first_level_discipline = first_level_discipline;
    }

    public int getIsfinish() {
        return isfinish;
    }

    public void setIsfinish(int isfinish) {
        this.isfinish = isfinish;
    }

    public String getProgramname() {
        return Programname;
    }

    public void setProgramname(String programname) {
        Programname = programname;
    }

    public String getManager() {
        return Manager;
    }

    public void setManager(String manager) {
        Manager = manager;
    }

    public String getPhone() {
        return Phone;
    }

    public void setPhone(String phone) {
        Phone = phone;
    }

    public float getAmount() {
        return Amount;
    }

    public void setAmount(float amount) {
        Amount = amount;
    }

    public int getLevel() {
        return Level;
    }

    public void setLevel(int level) {
        Level = level;
    }

    public String getProgramNumber() {
        return ProgramNumber;
    }

    public void setProgramNumber(String programNumber) {
        ProgramNumber = programNumber;
    }

    public String getEmployeeNumber() {
        return EmployeeNumber;
    }

    public void setEmployeeNumber(String employeeNumber) {
        EmployeeNumber = employeeNumber;
    }

    public String getAffiliation() {
        return Affiliation;
    }

    public void setAffiliation(String affiliation) {
        Affiliation = affiliation;
    }

    public int getApprovalStatus() {
        return ApprovalStatus;
    }

    public void setApprovalStatus(int approvalStatus) {
        ApprovalStatus = approvalStatus;
    }

    public String getSubjectCategory() {
        return SubjectCategory;
    }

    public void setSubjectCategory(String subjectCategory) {
        SubjectCategory = subjectCategory;
    }

    public String getProjectType() {
        return ProjectType;
    }

    public void setProjectType(String projectType) {
        ProjectType = projectType;
    }

    public String getCategory() {
        return Category;
    }

    public void setCategory(String category) {
        Category = category;
    }

    public String getProjectStatus() {
        return ProjectStatus;
    }

    public void setProjectStatus(String projectStatus) {
        ProjectStatus = projectStatus;
    }

    public String getResultForm() {
        return ResultForm;
    }

    public void setResultForm(String resultForm) {
        ResultForm = resultForm;
    }

    public String getIsMatched() {
        return isMatched;
    }

    public void setIsMatched(String isMatched) {
        this.isMatched = isMatched;
    }

    public String getCurrentUnit() {
        return CurrentUnit;
    }

    public void setCurrentUnit(String currentUnit) {
        CurrentUnit = currentUnit;
    }

    public String getAchievementUnit() {
        return AchievementUnit;
    }

    public void setAchievementUnit(String achievementUnit) {
        AchievementUnit = achievementUnit;
    }



    public String getItemLevel() {
        return ItemLevel;
    }

    public void setItemLevel(String itemLevel) {
        ItemLevel = itemLevel;
    }

    public String getProject_sub_category() {
        return project_sub_category;
    }

    public void setProject_sub_category(String project_sub_category) {
        this.project_sub_category = project_sub_category;
    }

    public String getSourceUnit() {
        return SourceUnit;
    }

    public void setSourceUnit(String sourceUnit) {
        SourceUnit = sourceUnit;
    }

    public String getApprovalNumber() {
        return ApprovalNumber;
    }

    public void setApprovalNumber(String approvalNumber) {
        ApprovalNumber = approvalNumber;
    }

    public String getPlanCompleted() {
        return PlanCompleted;
    }

    public void setPlanCompleted(String planCompleted) {
        PlanCompleted = planCompleted;
    }

    public String getProjectDate() {
        return ProjectDate;
    }

    public void setProjectDate(String projectDate) {
        ProjectDate = projectDate;
    }

    public String getEndDate() {
        return EndDate;
    }

    public void setEndDate(String endDate) {
        EndDate = endDate;
    }

    public String getSettlementForm() {
        return SettlementForm;
    }

    public void setSettlementForm(String settlementForm) {
        SettlementForm = settlementForm;
    }


}
